Selections of multiple items displayed in a GUI allow more than one item to be selected so that a collective operation using the selected items can be performed. The selection of items defines the input to the collective operation and, therefore, precision is important. In particular, a user may wish to perform an operation on a small portion of items displayed within a GUI container, but the selections may or may not comprise contiguously displayed items.
There are a number of methods that can be employed for multiple selections in GUIs. Contiguous selections are made with pointer clicks and the pressing of a key, such as “SHIFT”. The user defines a range of items by clicking on a start item, and while holding the appropriate key down, clicking on an end item. In this way, a contiguous group of items can be selected.
Non-contiguous selection can be made by clicking on a series of items while holding a key down, e.g. holding down “CTRL”. A user discriminately selects items by clicking on one or more items.
Contiguous selections can also be made by dragging a cursor. The user selects a range of items by placing the cursor in an anchor position at one corner of the range and half-clicks the mouse button. Without releasing the mouse button, the user moves the cursor in any direction. When the desired range is selected, the user releases the mouse button.
The use of a keyboard input along with checking a button on a pointer is called a controlled click. The foregoing methods do not aid in the selection of items where precision and discrimination are important, nor do they minimize user-driven events, e.g., mouse clicks and keyboard inputs.
There are some GUIs in which the user can activate a “Click Lock” feature such that the interface emulates the holding down of a mouse button during a drag operation. Instead of having to hold the mouse button down for the duration of highlighting and dragging, the user presses and holds the mouse button down for a brief period and the computer locks the input from the button as if it were in the depressed state. In some GUIs, the user begins the drag motion prior to releasing the mouse button. The input is unlocked when the user presses the button again. This feature is found in many operating systems' GUIs and is useful to people with restricted mobility. However, this requires that item selection be done individually for a plurality of items since the Click Lock method does not support group selection.
The known methods of selecting multiple items in GUI are particularly limited when used for data selection in tabular data—table of data, cross tabulation (crosstab), matrix, and the like. For example, currently there is no ability to perform cell level selection in a table for analysis purposes. The lowest level of granularity is to click on a row or column heading of a table, thus selecting the entire row or column. Since tabular data can be used to display hierarchical data selections not all cells are directly comparable. This is true of crosstabs displaying dimensional information such as data from a multidimensional database as these dimensions are often hierarchical. Cells that are not directly comparable may not be compatible for a collective operation. When dealing with hierarchical data, it is desirable to have the ability to perform data selection operations on data at the desired hierarchical levels without being limited by how the data is displayed.